/*
 * To change this template, choose Tools | Templates
 * and open the template in the editor.
 */
package DAO;

import BD.Tabla;
import java.sql.ResultSet;
import java.sql.SQLException;
import java.util.ArrayList;
import java.util.List;
import java.util.logging.Level;
import java.util.logging.Logger;
import nivelPersistencia.PersistenciaException;

/**
 *
 * @author Christian
 */
public class Paises extends Tabla {

    private String nombreTabla;

    public Paises(String nombreTabla) {
        super(nombreTabla);
        this.nombreTabla = nombreTabla;
    }

    public List<String> getPaises() throws PersistenciaException {
        List<String> lista = new ArrayList<String>();
        String s = "SELECT nombre FROM " + nombreTabla + ";";
        //System.out.println(s);
        consulta(s);
        ResultSet rs;
        while ((rs = obtenRenglon()) != null) {
            try {
                lista.add(rs.getString("nombre"));
            } catch (SQLException ex) {
                throw new PersistenciaException("Error al obtener la lista de paises.");
            }
        }
        return lista;
    }

    public int getIdPais(String name) throws PersistenciaException {
        String s = "SELECT idPais FROM " + nombreTabla + " WHERE nombre = '" + name + "';";
        consulta(s);
        ResultSet rs;
        while ((rs = obtenRenglon()) != null) {
            try {
                return rs.getInt("idPais");
            } catch (SQLException ex) {
                throw new PersistenciaException("Error al obtener el ID del pais.");
            }
        }
        return -1;
    }

    public String getPais(int index) throws PersistenciaException {
        String s = "SELECT nombre FROM " + nombreTabla + " WHERE idPais = " + index + ";";
        consulta(s);
        ResultSet rs;
        while ((rs = obtenRenglon()) != null) {
            try {
                return rs.getString("nombre");
            } catch (SQLException ex) {
                throw new PersistenciaException("Error al obtener el Nombre del pais.");
            }
        }
        return "";
    }
}
